iT邦幫忙

2022 iThome 鐵人賽

DAY 6
0

經過前面五天, 我們終於要開始設計module了

這時候我們要如何跟同事溝通這我們的設計呢?

在物件導向設計中, 通常會用UML來表達我們的軟體架構

但是UML 2.2有整整14種圖表要做, 最後就變成要嘛花太多資源在文件上

要嘛就是每種文件都做了一點點, 而且還不到位

所以我們要先釐清一些問題

  1. 為什麼要寫這份文件?我們要跟同事傳達甚麼?
  2. 這份文件對同事的理解有何幫助?
  3. 他直接看code或其他文件會不會更有效益?

實務上我在設計之前只會附上類圖

其他的東西就靠auto test補足

因為同事看這份類圖可以很直觀的理解類與類之間的責任分級

以及責任的粒度, 至於這些組件如何call, 回傳甚麼, 請對方直接去看auto test即可

這麼做有個明顯的好處, 只要test上面有寫的使用方式, 就不用擔心實作跟文件不符

並且有回傳值跟assert驗證實作會回傳的值

我也曾經看過那種文件跟實作完全不一樣的lib

甚至是call下去就會直接throw error

當然, 有使用雲端資源可以附上infra diagram

有使用資料庫資源可以附上Schema diagram

但是重要的是回到需求點, 因為我要傳達A 所以做了這種文件B

下次遇到同事問有沒有XXX類的文件, 先問一句

[你想看到從文件上看到甚麼現有的文件看不出來的東西嗎?]

就可以避免蝦做一堆文件,卻沒有達到目的的問題


上一篇
D5 - 我把參數都組合好放在那裡了 - DTO的運用
下一篇
D7 - 和我定下契約吧,淺談interface的使用
系列文
寫個好的lib大家用吧!那些好用的lib常見的套路與想法25
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言